Remote control device and method employing random addressing

ABSTRACT

A remote control device is presented which includes a user interface, control logic, a memory and a transmitter. The user interface is configured to accept an input from a user. The control logic is configured to generate a random number as an address for the remote control device, and to generate a command for an electronic device based on the input from the user. The command comprises the address. The memory is configured to store the address for the remote control device. The transmitter is configured to transmit the command to the electronic device.

BACKGROUND

Some remote control devices (also called “remote controls,” or simply“remotes”) employ ultra-high frequency (UHF) signals to transmitcommands to an electronic product being controlled. Since UHF signalsare capable of penetrating walls and other structures within a house,the remote control device and the product to be controlled are allowedto be located in separate rooms. However, given the extensive range ofthese remote control devices, a remote control device intended tocontrol one electronic product may instead unintentionally alter theoperation of another product within range of the remote control device.

To remedy this problem, some UHF remote control devices now include adigital value preset at the factory that is used as an address toidentify the remote control, thus allowing one remote control to bedistinguished from another. For example, each remote control device mayinclude its address within a command that is transmitted to theelectronic product to be controlled. Upon receipt of the command, theproduct may then compare that address with an internally-stored addressvalue, and execute the command only if the value matches the addressincluded in the command.

However, problems may still occur if only a few distinct addresses areavailable, as the odds of two remotes having the same address may besignificant. Further, allowing manual modification of a remote controladdress to solve addressing conflicts may still be problematic, asdetecting such conflicts can be difficult, and mistakes in modifying theaddress values may occur.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1, is a block diagram of an electronic system including a remotecontrol device and an associated electronic device according to anembodiment of the invention.

FIG. 2 is a flow diagram of a method for facilitating communicationbetween a remote control device and an electronic device according to anembodiment of the invention.

FIG. 3 is a block diagram of an electronic system including a remotecontrol device and an associated electronic device according to anotherembodiment of the invention.

FIG. 4 is a flow diagram of a method for generating and transmittingcommands from the remote control device to the electronic devicedepicted in FIG. 3 according to an embodiment of the invention.

FIG. 5 is a diagram indicating a format of a command packet transmittedfrom the remote control device of FIG. 3 according to an embodiment ofthe invention.

FIG. 6 is a flow diagram of a method for receiving and processingcommands at the electronic device from the remote control device shownin FIG. 3 according to an embodiment of the invention.

DETAILED DESCRIPTION

FIG. 1 presents a block diagram of an electronic system 101 including aremote control device 100 and an electronic device 150 configured to becontrolled by the remote control device 100. In one embodiment, theremote control device 100 includes a user interface 102, control logic104, a memory 106 and a transmitter 108. The user interface 102 isconfigured to accept an input from a user. The control logic 104 isconfigured to generate a random number as an address for the remotecontrol device 100, and to generate a command 110 for the electronicdevice 150 based on the input from the user. The command 110 includesthe address. The memory 106 is configured to store the address for theremote control device 100. The transmitter 108 is configured to transmitthe command to the electronic device 150.

The electronic device 150 of FIG. 1 includes its own control logic 154and memory 156, as well as a receiver 158. The receiver 158 isconfigured to receive the command 110 transmitted from the transmitter108 of the remote control device 100. The memory 156 of the electronicdevice 150 is configured to store a first remote control device address.The control logic 154 of the electronic device 150 is configured toprocess the command 110 if the address within the command 110 matchesthe remote control device address in the memory 156 of the electronicdevice 150.

Another embodiment, a method 200 for facilitating communication betweena remote control device and an associated electronic device, is depictedby way of flow diagram in FIG. 2. In the method 200, a random number isgenerated within the remote control device (operation 202). The randomnumber is then stored within the remote control device as an address forthe remote control device (operation 204). An input from a user isreceived at the remote control device (operation 206). A command basedon the input from the user is then transmitted from the remote controldevice (operation 208), wherein the command includes the address.

At the electronic device, a remote control device address is storedtherein (operation 210). The command from the remote control device isreceived at the electronic device (operation 212). A determination isthen made as to whether the address within the command matches theremote control device address in the electronic device (operation 214).If so, the command is processed in the electronic device (operation216).

The flow diagram provided in FIG. 2, as well as others presented anddescribed herein, each represent one possible order in which theoperations indicated therein are accomplished. However, other orders ofexecution involving these same operations are also possible whileremaining within the scope of the invention.

Another embodiment—an electronic system 301, including a remote controldevice 300 and an electronic device 350 configured to be controlled byway of the remote control device 300—is depicted in the block diagram ofFIG. 3. In this particular implementation, the electronic device 350 maybe a satellite broadcast receiver or set-top box (STB). However, inother embodiments, other electronic devices, such as cable STBs,televisions (TVs), compact disc (CD) and digital video disc (DVD)players, audio receivers, and the like, may serve as the electronicdevice 350 of FIG. 3. The electronic device 350 includes control logic354, a memory 356 and a receiver 358. Further, in some embodiments theelectronic device 350 may incorporate a user interface 352 and at leastone output port 360. In another implementation, the electronic devicemay include a second output port 370. The electronic device 350 mayinclude other components to provide functionality not described herein,but such components are not discussed for reasons of simplicity andbrevity.

The remote control device 300 of FIG. 3 includes a user interface 302,control logic 304, a memory 306, and a transmitter 308. Other aspectstypically associated with a remote control device 300, such as a batterycompartment for holding one or more batteries for supplying power to theremote control device 300, are not shown in FIG. 3 to simplify andfacilitate the discussion of the various embodiments disclosed herein.

In one embodiment, the control logic 304 of the remote control deviceand the control logic 354 of the electronic device 350 may includedigital hardware circuitry, a processor upon which control firmware orsoftware executes, or some combination thereof. Also, the transmitter308 and the receiver 358 may each be a transceiver allowing two-waycommunication in another embodiment.

A method 400 for generating and transmitting commands from the remotecontrol device 300 to the electronic device 350 is depicted by way offlow diagram in FIG. 4. The control logic 304 of the remote controldevice 300 is configured to generate a random number to be employed asan address to identify the remote control device 300 (operation 404).Herein, the random number may be a truly random number or apseudo-random number, such as what might be generated by way of adeterministic logic circuit, such as a processor or other digitalelectronic circuit. The random number may also be any generated numberexhibiting at least some level of statistical randomness. The randomnumber is employed as an address associated with the remote control. Theuse of the random number is described in greater detail below.

The control logic 304 may generate the random number in response to anumber of conditions. For one, the control logic 304 may generate therandom number in response to an initial power-up or reset of the remotecontrol device 300 (operation 402). Such a power-up or reset may occurwhen batteries used to power the remote control device 300 are firstplaced into the remote control device 300 by the user after delivery ofthe device 300 to the user. A reset may also occur by way of a specificaction of the user, such as the pressing of a reset button of the remotecontrol device 300. In another embodiment, generation of the randomnumber by the control logic 304 may be instigated at some point duringthe manufacturing process prior to delivery of the remote control device300 to the user.

After generating the random number, the control logic 304 is configuredto store the random number as an address 307 for the remote controldevice 300 in the memory 306 of the device 300 (operation 406). In oneexample, the memory 306 may be a nonvolatile memory, such as a flashmemory or ferroelectric memory, so that loss of electrical power, suchas removal or exhaustion of a battery from the remote control device300, does not cause loss of the address 307 value. In anotherembodiment, a volatile memory may be used for the memory 306, especiallyif battery life is not an issue. As described later, the control logic304 accesses the address 307 in the process of communicating with thetarget electronic device 350.

The user interface 302 of the remote control device 300 is configured toaccept input from a user (operation 408). In one implementation, theuser interface 302 includes a keypad for a user to input or entercommands to control various functions of the electronic device 350, suchas changing channels, altering a volume level, accessing a functionselection menu, and so on. Other input devices, such as a touchpad, aroller ball. a joystick, or a microphone coupled with a voicerecognition circuit, allowing a user to input information into theremote control device 300, may also be included in other examples.

By way of the input to the user interface 302, the user may request byway of the user interface 302 that a new address for the remote controldevice 300 be generated to replace a previous address (operation 410).Such a request may be made by way of one or more keystrokes on a keypadof the user interface 302, for example. In addition, the user mayrequest that the address for the remote control device 300 be set to aspecific value indicated by way of the user interface 302 (alsooperation 410). In response, the control logic 304 generates or sets therandom number as requested (operation 404) and stores the number as thenew address 307 for the remote control device 300 in the memory 306(operation 406).

Besides requesting that a new address 307 being generated or set, theuser may also input various command requests intended for the electronicdevice 350 by way of the user interface 302. Typically, many commandrequests are issued between requests to set or generate a new address307, as the need to alter the address 307 should occur only sparingly.In response to each of these command requests, the control logic 304 isconfigured to generate a command 310 for the electronic device 350 to becontrolled based on the user input (operation 412). The control logic304 incorporates the address 307, read from the memory 306, into thecommand. FIG. 5 shows one possible format of a command packet 500generated by the control logic 304. This particular 26-bit packet 500includes a 6-bit keycode 502, a 10-bit address 504, a 5-bit product code506 and a 5-bit forward error correction (FEC) code 508. The keycode 502indicates the command or action to be executed or performed at theelectronic device 350. The address 504 corresponds with, and may beidentical to, the address 307 stored in the memory 306 of the remotecontrol device 300. In this particular case, the use of a 10-bitaddress, thus allowing for 1024 separate addresses for the remotecontrol device 300, provides a significant amount of protection againsttwo remote control devices 300 within range of the same electronicdevice 350 exhibiting the same address. The product code 506 indicatesthe product or model number of the particular electronic device 350being controlled. The FEC code 508 is redundant information to beemployed by the electronic device 350 to detect and possibly correct oneor more errors in the command packet 500 after the packet 500 isreceived at the electronic device 350.

The specific packet 500 format of FIG. 5 represents merely one of manypossible command formats. For example, some formats may not include aforward error code 508, but may instead provide an error detection code,or no error correction or detection code at all. In another possiblecommand format, a product code 506 may not be included. Other commandpacket 500 formats may employ varying numbers of bits for each of thekeycode 502, the address 504, the product code 506, and the forwarderror correction code 508.

Once generated, the command 310 incorporating the address 307 from thememory 306 is transferred to the transmitter 308, which is configured totransmit the command 310 to the electronic device 350 (operation 414).In one embodiment, the transmitter 308 is an ultra-high frequency (UHF)transmitter, thus allowing transmission of the command 310 to theelectronic device 350 without the benefit of line-of-sight, such asthrough walls or other structures of a house, apartment or otherbuilding. In one implementation, the transmitter 308 operates in the 300megahertz (MHz) to 3 gigahertz (GHz) frequency range. Other wirelesstechnologies may be employed for the transmission of the command 310 inother embodiments, such as infrared (IR) light and other opticaltransmission methods, or ultrasonic waves and other acousticcommunication means. The control logic 304 may then process othercommand requests from the user received by way of the user interface 302in a similar fashion.

In one embodiment, a command may be generated (operation 412) andtransmitted (operation 414) as described above in response to thegeneration of a new address 307 for the remote control device 300. Thus,the newly-generated address 307 is made immediately available to theelectronic device 350 to link the remote control device 300 to thetarget electronic device 350 as described in greater detail below. Inone embodiment, the command may have no actual effect on the electronicdevice 350, such as a change in channel or volume, other than to informthe electronic device 350 of the new address 307 once the address 307 isgenerated within the remote control device 300.

FIG. 6 provides a flow diagram of a method 600 for receiving andprocessing the commands from the remote control device 300 in theelectronic device 350 of FIG. 3. In the method 600, the receiver 358 isconfigured to receive the command 310 from the remote control device 300(operation 602 of FIG. 6). In the specific embodiment of FIG. 3, thereceiver 358 is a UHF receiver compatible with the UHF transmitter 308of the remote control device 300. However, as noted above in conjunctionwith the transmitter 308, the receiver 358 may employ different wirelesstechnologies in other embodiments, such as infrared (IR) light and otheroptical transmission means, or ultrasonic signals and other acousticcommunication methods.

Similar to the memory 304 of the remote control device 300, the memory356 of the electronic device 350 is configured to store a remote controldevice address 362. In one example, the memory 356 is a nonvolatilememory, such as a flash memory or ferroelectric memory, thus allowingthe remote control device address 362 to be retained in the event of apower failure. To initialize the remote control device address 362, theelectronic device 350 may make use of a special address-setting modeduring which a command received by way of the receiver 358 may beutilized to set the remote control device address 362 for futurereceived commands. More specifically, the control logic 354 may beconfigured to set the electronic device 350 to the address-setting modein response to a user-initiated action. In one embodiment, theuser-initiated action occurs by way of an input through the userinterface 352. The user interface 352 may include, for example, a pushbutton or similar means for indicating to the control logic 354 of theelectronic device 352 to enter the address-setting mode. Other userinterface means, such as a joystick, roller ball, or a microphonecoupled with a voice recognition circuit, may be utilized. In anotherexample, the control logic 354 may enter the address-setting mode aftera reset of the electronic device 350, such as by way of a reset buttonof the electronic device 350, or via cycling power to the electronicdevice 350. In another embodiment, the control logic 354 may enter theaddress-setting mode in response to a remote command received at theelectronic device 350 by way of satellite communication, phone orInternet connection, or other remote communication methods. Such aremote command may be issued by, for example, a customer support personlocated at a call center in response to a phone request from a user.

If the electronic device 350 exhibits the address-setting mode at thetime a command has been received at the receiver 358 (operation 604),the control logic 354 sets the remote control device address 362 in thememory 356 to the address of the command 310 (e.g., the address 504 ofthe command packet 500) first received by way of the receiver 358 afterthe address-setting mode has been entered (operation 606). Thereafter,the control logic 354 then clears the address-setting mode (operation608) to process other commands normally. In one implementation, thiscommand 310 received during address-setting mode is processed normally(operation 610); in another embodiment, the command 310 is ignored.

If, instead, the address-setting mode is not active at the time acommand is received, the control logic 354 compares the address of thecommand 310 (e.g., address 504 of the command packet 500 of FIG. 5) tothe remote control device address 362 stored in the memory 356 of theelectronic device 350 (operation 612). If the received address matchesthe remote control device address 362, the control logic 350 processesthe command 310 (operation 614). Otherwise, the control logic 354ignores the command 310.

In the embodiment of FIG. 3, the received command 310 may be processedto control or modify the operation of the output port 360. Presuming theelectronic device 350 is a satellite broadcast STB, the output port 360may deliver programming received from a satellite to a TV (not shown inFIG. 3) coupled therewith. The output port 360 may be identified with atuner and associated circuitry for selecting one of a number ofsatellite programming channels available from a television or radiobroadcast satellite. For example, the command 310 may request a changein selected channel, modification of audio volume, control of viewingoperations, such as rewind, fast-forward, pause and the like, as well asany other functions typically associated with an output port. Similarly,the output port 360 may also be coupled with a digital video recorder(DVR) unit residing within the STB 350, thereby allowing a user toemploy the remote control device 300 to control the recording andplayback of programming to and from the DVR.

As described above, the operation of various embodiments of the remotecontrol device 300 and the electronic device 350 provides a secure yetflexible communication scheme therebetween. By randomly generating itsown address, the remote control device 300 likely distinguishes itselffrom other remote control devices that may be located withincommunication range of the target electronic device 350. By thendistinguishing commands transmitted by the remote control device 300from other remote control devices, inadvertent control of the electronicdevice 350 by the other remotes is greatly reduced or eliminated whileallowing the remote control device 300 associated with the electronicdevice 350 complete control of that device 350. Further, embodimentsenabling the user to both generate or set a new address for the remotecontrol device 300 and place the electronic device 350 into anaddress-setting mode at any time allow the user to change the address307 quickly to resolve any addressing conflicts with nearby remotecontrol devices.

In one embodiment, the electronic device 350 of FIG. 3 may include twoor more output ports 360, 370, wherein each port may be coupled with aseparate TV (not shown in FIG. 3). Presuming the TVs are located inseparate rooms of a house or other building, the user may desire thateach of two separate remote control devices 300 be associated withdistinct output ports 360, 370. To support this functionality, theelectronic device 350 may store two separate remote control deviceaddresses 362, 372 within its memory 356. Further, the control logic 354may then compare the address 307 of each received command 310 againstboth remote control device addresses 362, 372 to determine if thecommand 310 is to be processed for the first output port 360, the secondoutput port 370, or neither port 360, 370. In another embodiment, bothoutput ports 360, 370 may be controlled by the same remote controldevice 300.

In another example, the electronic device 350 may provide a dual-displayfunctionality, such as a picture-in-picture feature found in some STBsand TVs. In such an implementation, the electronic device 350 may beconfigured to store separate remote control addresses within the memory356, one for each picture “window” or display being presentedsimultaneously to the user, thus allowing each picture display to becontrolled by a separate remote control device 300.

In another embodiment, the control logic 304 of the remote controldevice 300 allows a user, by way of the user interface 302, to commandthe electronic device 350 to indicate the remote control device address362 currently stored in the memory 356. Such an indication may beprovided by way of the TV coupled with the associated output port 360,by way of a display provided directly by the electronic device 350, orsome other means. Providing the user the ability to determine the remotecontrol device address 362 allows the user to set one or more remotecontrol devices 300 to the same address 307, thus enabling thosemultiple remote control devices 300 to control the same electronicdevice 350, or the same output port 360 within the electronic device350. Such capability may be desirable when a single electronic device350 or output port 360 thereof is employed for multiple TVs within asingle home or apartment.

If multiple remote control devices 300 may control a single electronicdevice 350, or a single output port 360 within a single electronicdevice 350, the control logic 354 of the electronic device 350 mayinstead be configured to store multiple remote control device addresses362, 372 for the single electronic device 350 or output port 360, thuspossibly eliminating the need for setting a specific address 307 withinthe remote control device 300 to match the address 307 of another remotecontrol device 300.

While several embodiments of the invention have been discussed herein,other embodiments encompassed by the scope of the invention arepossible. For example, while embodiments of the invention have beendescribed in connection with satellite broadcast STBs, such as thosenormally associated with video and audio programming, other electronicdevices, such as cable television STBs, CD and DVD players, audioreceivers, and other electronic devices, may benefit from application ofthe concepts described herein. Also, aspects of one embodiment may becombined with those of alternative embodiments to create furtherimplementations of the present invention. Thus, while the presentinvention has been described in the context of specific embodiments,such descriptions are provided for illustration and not limitation.Accordingly, the proper scope of the present invention is delimited onlyby the following claims and their equivalents.

The invention claimed is:
 1. An electronic device comprising: a receiverconfigured to receive a first command transmitted from a remote controldevice, the first command including a remote control address; a userinterface configured to accept an input from a user; a memory configuredto store data; and control logic configured to store the remote controladdress in the memory and to execute the first command if the firstcommand is an initial command received at the receiver after the userinterface accepts the input, the control logic being, further configuredto execute a second command if the second command includes the remotecontrol address stored in memory.
 2. The electronic device of claim 1comprising an output port configured to output a first picture displayand a second picture display, the remote control device address isassociated with the first picture display, the second remote controldevice address stored in the memory is associated with the secondpicture display.
 3. The electronic device of claim 1 comprising: asfirst output port; and a second output port, the remote control deviceaddress being associated with the first output port, a second remotecontrol device address being associated with the second output port. 4.The electronic device, of claim 1, comprising: a first output port; anda second output port, the remote control device address and a secondremote control address stored in memory being associated with the firstoutput port.
 5. The electronic device of claim 1 comprising: a firstoutput port; and a second output port, the remote control device beingassociated with the first output port and the second output port.
 6. Theelectronic device of claim 1 comprising a communication interfaceconfigured to receive a remote input, the control logic being configuredto store the remote control address within a second command received atthe receiver as the remote control device address if the second commandis the next command received after the communication interface receivesthe remote input.
 7. The electronic device of claim 6 wherein thecommunication interface comprises at least one of a satellitecommunication interface, a phone connection, and an internet connection.8. The electronic device of claim 1 wherein the wherein the controllogic is configured to store the address within a second commandreceived by the receiver as the remote control device address if thesecond command is the initial command following a reset of theelectronic device.
 9. The electronic device of claim 1, furthercomprising one of a satellite broadcast receiver and a cable broadcastreceiver.
 10. A remote control device comprising: a user interfaceconfigured to accept an input from as user; control logic configured togenerate a random number as an address for the remote control and togenerate a command for the electronic device based on the input from theuser, wherein the command comprises the address; a memory configured tostore the address for the remote control device; and a transmitterconfigured to transmit a command to the electronic device, the commandincluding the random number, the command being configured to cause theelectronic device to store the random number in memory as an address andto execute the command.
 11. The remote control device of claim 10,wherein the transmitter comprises one of an ultra-high frequencytransmitter, an infrared transmitter, and an ultrasonic transmitter. 12.The remote control device of claim 10, wherein the control logic isconfigured to generate the address upon an initial power-up of theremote control device.
 13. The remote control device of claim 10,wherein the control logic is continued to generate the address upon areset of the remote control device.
 14. The remote control device ofclaim 10 wherein the user interface is configured to accept a requestfrom the user to change the address associated with the remote controldevice, and wherein the control logic is configured to generate a newrandom number as the address in response to the request.
 15. The remotecontrol device of claim 10 wherein the user interface is configured toaccept a request from the user to set the address associated with theremote control device to a specific value, and wherein the control logicis configured to set the address to the specific value in response tothe request.